

// 从类的角度看，所有的类都继承了Object类
// 因为 JavaScript 中的继承是通过 prototype 实现的，所以这里用原型来验证
// 比如 Function.prototype 就是 Object类的一个实例
console.log( Function.prototype.__proto__ === Object.prototype );
console.log( Boolean.prototype.__proto__ === Object.prototype );
console.log( Symbol.prototype.__proto__ === Object.prototype );
console.log( String.prototype.__proto__ === Object.prototype );

console.log( '- - - - - - - - - - - - - - - - - - - - -' );

// 将所有的类当作实例来看待，他们都是 Function类 的实例
console.log( Object.constructor.name );
console.log( Function.constructor.name );
console.log( Boolean.constructor.name );
console.log( Symbol.constructor.name );
console.log( String.constructor.name );

console.log( '- - - - - - - - - - - - - - - - - - - - -' );

// 将所有的类当作实例来看待，他们都可以通过 __proto__ 获得其相应类的原型
console.log( Object.__proto__ === Function.prototype );
console.log( Function.__proto__ === Function.prototype );
console.log( Boolean.__proto__ === Function.prototype );
console.log( Symbol.__proto__ === Function.prototype );
console.log( String.__proto__ === Function.prototype );